インスタンス障害の原因が基盤障害かどうかの確認方法
今までいろいろな問い合わせを受けてましたが、トラブルシュートの際にはまず、基盤障害かそうでないかが最初に切り分けるポイントとしてあります。
そのため今回は EC2 インスタンスで障害が起きた際に、基盤障害があったか確認する方法について説明させていただきます。
AWS をある程度使っている方なら常識の内容にはなりますが、ご一読いただければ嬉しいです。
CloudWatch で見るべきメトリクス
CloudWatch のメトリクスの中で、これが出ていれば完全に基盤障害!というものがありますので、まずはそちらを紹介します。
EC2 の画面から、対象のインスタンスを選択して「モニタリング」のタブを開くと以下のようにずらずらっと項目が並びます。
この中で「ステータスチェックの失敗(システム)」という項目を確認します。
各メトリクスの右上の「・・・」を押して「メトリクスで表示」を押すと、CloudWatch の画面に飛びます。
右上の時間で範囲を指定できますので、ここから時間範囲を指定して障害のあった時間のメトリクスを確認しましょう。
基本的に正常な状態であれば数値は 0 のままですが、何らかの基盤障害があった際には数値は 1 を示します。そのため、このメトリクスで 1 を示した時には、基盤障害が発生したと判断することができます。
AWS が公開している障害原因としては以下のようなものになります。
インスタンスのステータスチェック - Amazon Elastic Compute Cloud
システムステータスチェックの失敗の原因となる問題の例を次に示します。
- ネットワーク接続の喪失
- システム電源の喪失
- 物理ホストのソフトウェアの問題
- ネットワーク到達可能性に影響する、物理ホスト上のハードウェアの問題
これ以上の詳しい理由については、AWS に問い合わせても情報開示はされませんのでご了承ください。
ステータスチェックには他に「ステータスチェックの失敗(インスタンス)」もありますが、こちらは基盤側ではなく、インスタンス内部が原因で発生するものになりますので、ご注意ください。
Personal Health Dashboard で確認
CloudWatch の他に Personal Health Dashboard というものがあり、これもマネジメントコンソールから確認することができます。
サービスの中で「PHD」で検索すると出てきます。
こちらの画面では、イベントログなどで、対象の時間に対する何らかの障害情報が出ていないか確認してみましょう。
Service Health Dashboard で確認
以下の URL で Service Health Dashboard に飛べます。
個々のアカウント単位ではなく、リージョン単位の広範囲な障害が発生していた場合にイベントが記録されます。
さいごに
基盤障害かどうかを調べる際には、上記の3ポイントを確認するのが一番手っ取り早いかと思います。
その他 CloudWatch で他のメトリクスで異常な数値が出ていたりということがなければ、基本的にはインスタンス起因という判断で良いかと思います。
日々ご利用いただいている方々はいろいろな障害に出会うことがあると思いますので、当記事が少しでも迅速なトラブルシュートの助けになれば幸いです。